package tableIdent;

public abstract class Ident {
	int type;
	int valeur;

	/**
	 * constructeur par défault
	 */
	public Ident() {
		super();
	}
	
	/**
	 * Constructeur avec le type et la valeur définis
	 * @param type type de l'objet(ENTIER, BOOLEEN)
	 * @param valeur valeur de l'objet (numérique ou VRAI FAUX)
	 */
	public Ident(int type, int valeur) {
		super();
		this.type = type;
		this.valeur = valeur;
	}

	/**
	 * getters and setters
	 */
	public int getType() {
		return type;
	}
	public void setType(int type) {
		this.type = type;
	}
	public int getValeur() {
		return valeur;
	}
	public void setValeur(int valeur) {
		this.valeur = valeur;
	}
	
	/**
	 * rédéfinition de toString() 
	 * format: (type-valeur)
	 */
	public String toString() {
		return "("+type+" - "+valeur+")";
	}
	
	/**
	 * redéfinition de equls()
	 */
	public boolean equals(Object objet) {
		if (objet instanceof Ident) {
			return (this.type == ((Ident)objet).type && this.valeur == ((Ident)objet).valeur);
		}
		else{
			return false;//Ce n'est m�me pas un Ident
		} 
	}
}
